<?php

class TrimmingReplaceAction extends SzAbstractAction
{
    Protected $paramTypes = array(
        SzAbstractAction::TYPE_INT,
        SzAbstractAction::TYPE_INT,
        SzAbstractAction::TYPE_STRING
    );

    /**
     *  更换装饰物, 如果没有则会先购买
     *
     * @param int $userId
     * @param int $indexId 装饰物ID，配置表`ft_trimming_buy`中的indexId
     * @param string $gridId 位置，当配置表`ft_trimming_buy`中的replace值为1（单个替换时有效）
     * @return SzResponse
     */
    public function execute($userId, $indexId, $gridId)
    {
        if (!GameService::get()->verifySysUnlock($userId, GameConst::FUNC_TRIMMING)) {
            return $this->buildResponse(false);
        }
        return $this->buildResponse(
            TrimmingService::get()->replace($userId, $indexId, $gridId)
        );
    }
}